#region Namespace Declarations

using System;
using System.Collections.Generic;

#endregion Namespace Declarations

namespace RSEngine.Math
{
    /// <summary>
    ///	Represents two related values
    /// </summary>
    public class Tuple< A, B >
    {
        public Tuple( A first, B second )
        {
            this.first = first;
            this.second = second;
        }
        /// <summary></summary>
        public A first;
        /// <summary></summary>
        public B second;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <typeparam name="A"></typeparam>
    /// <typeparam name="B"></typeparam>
    /// <typeparam name="C"></typeparam>
    public class Tuple<A, B, C>
    {
        /// <summary></summary>
        public A first;
        /// <summary></summary>
        public B second;
        /// <summary></summary>
        public C thrid;
    }

    /// <summary>
    /// 
    /// </summary>
    /// <typeparam name="A"></typeparam>
    /// <typeparam name="B"></typeparam>
    /// <typeparam name="C"></typeparam>
    /// <typeparam name="D"></typeparam>
    public class Tuple<A, B, C, D>
    {
        /// <summary></summary>
        public A first;
        /// <summary></summary>
        public B second;
        /// <summary></summary>
        public C thrid;
        /// <summary></summary>
        public D fourth;
    }
}
